package com.crl.ssc.dic.service;

import com.cars.util.global.GlobalOperaCode;
import com.cars.util.list.ListUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.crl.ssc.dic.dao.DicCzDao;
import com.crl.ssc.dic.dto.DicCzDTO;
import com.crl.ssc.dic.model.DicCz;
import com.crl.ssc.dic.vo.DicCzSearchVO;
import java.util.List;

/**
 * @description: 字典管理-车站字典Service
 * @author: 孔垂云
 * @version: 1.0
 * @date: 2020-07-26 23:24:46
 */
@Service
public class DicCzService {
    @Autowired
    private DicCzDao dicCzDao;
    /**
     * 增加
     *
     * @param dicCzDTO
     * @return
     */
    public int add(DicCzDTO dicCzDTO) {
        DicCz dicCz = new DicCz();
        BeanUtils.copyProperties(dicCzDTO, dicCz);
        return dicCzDao.add(dicCz);
    }
    /**
     * 修改
     *
     * @param dicCzDTO
     * @return
     */
    public int update(DicCzDTO dicCzDTO) {
        DicCz dicCz = new DicCz();
        BeanUtils.copyProperties(dicCzDTO, dicCz);
        return dicCzDao.update(dicCz);
    }
    /**
     * 删除
     *
     * @param czdm
     * @return
     */
    public int delete(String czdm) {
        DicCz dicCz = dicCzDao.get(czdm);
        if (dicCz  == null) {
           return GlobalOperaCode.OPERA_NOT_EXIST;
         } else {
           return dicCzDao.delete(czdm);
         }
    }

    /**
     * 列表
     *
     * @param dicCzSearchVO
     * @return
     */
    public List<DicCzDTO> list(DicCzSearchVO dicCzSearchVO) {
        List<DicCz> list = dicCzDao.list(dicCzSearchVO);
        List<DicCzDTO> listResult = ListUtils.copyList(list, DicCzDTO.class);
        return listResult;
    }
    /**
     * 记录条数
     *
     * @param dicCzSearchVO
     * @return
     */
    public int count(DicCzSearchVO dicCzSearchVO) {
        return dicCzDao.count(dicCzSearchVO);
    }
    /**
     * 获取单个
     *
     * @param czdm
     * @return
     */
    public DicCzDTO get(String czdm) {
        DicCz dicCz = dicCzDao.get(czdm);
        DicCzDTO dicCzDTO = new DicCzDTO();
        BeanUtils.copyProperties(dicCz, dicCzDTO);
        return dicCzDTO;
    }
}
